<?php
class UserConfigController extends Zone_Action{
	protected function fields( $default=NULL ){
			$data  = array(
				title => array(
					type 		=> 'CHAR',
					form_label	=> 'Status'
				),
				email => array(
					type 		=> 'EMAIL',
					form_label	=> 'Email',
					no_empty	=> true
				),
				address => array(
					type 		=> 'CHAR',
					form_label	=> 'Địa chỉ'
				),
				birthday => array(
					type			=> 'DATE',
					fix_value		=> change_date_format, 
					default_value	=> NULL,
					form_label		=> 'Sinh nhật'
				),
				profiles => array(
					type 		=> 'CHAR',
					form_label	=> 'Giới thiệu'
				),
				university => array(
					type 		=> 'CHAR',
					form_label	=> 'university'
				),
				fav => array(
					type 		=> 'CHAR',
					form_label	=> 'Sở thích'
				),
				sport => array(
					type 		=> 'CHAR',
					form_label	=> 'sport'
				),
				music => array(
					type 		=> 'CHAR',
					form_label	=> 'Âm nhạc'
				),
				film => array(
					type 		=> 'CHAR',
					form_label	=> 'Phim ảnh'
				),
				city => array(
					type 		=> 'CHAR',
					form_label	=> 'Thành phố/thị xã'
				),
				web => array(
					type 		=> 'CHAR',
					form_label	=> 'Trang web'
				),
				email => array(
					type		=> 'CHAR',
					form_label	=> 'Email'
				),
				yahoo => array(
					type		=> 'CHAR',
					form_label	=> 'Yahoo'
				),
				phone => array(
					type		=> 'CHAR',
					form_label	=> 'Điện thoại',
					min_length	=> 6,
					max_length	=> 20
				)
			);
			if( is_array( $default ) ){
				foreach( $data as $k => $config ){
					if( $config['type'] != 'NONE' && isset( $default[$k] ) ){
						$data[$k]['default_value'] = $default[$k];
					}
				}
			}	
			return $data;	
	}

	public function indexAction(){
		$this->removeLayout();
		$user_id = get_user_id();
		loadClass('ZData');		

		$user = $this->Model->fetchRow("SELECT * FROM `users` WHERE `ID`='$user_id'");
		$this->set("user",$user);
		
		if( isPost() ){
			$f = new ZData();
			$f->addField($this->fields());
			$data = $f->getData();
			
			if(!is_array( $data )){
				return $this->setJSON(array(
					alert	=> error($data)
				));
			}
			
			$t = $this->Model->update('users',$data,"`ID`='$user_id'");
			if( $t ){		
				$this->Model->insert('notices',array(
					user_id			=> 0,
					date			=> new Model_Expr('NOW()'),
					created_by_id	=> $user['ID'],
					title			=> 'Thông báo từ hệ thống',
					content			=> get_user_link($user).' vừa cập nhập thông tin cá nhân', 
					url				=> '#User/Info?ID='.$user['ID']
				));
			}		
			return $this->setJSON(array(
				close => true
			));			
		}
	}
}	